查看原文
其他

ICCV2021:阿里达摩院将Transformer应用于目标重识别,效果显著(附源代码)

Edison_G 计算机视觉研究院 2022-12-03

计算机视觉研究院专栏

作者:Edison_G

阿里达摩院浙江大学合作的TransReID框架。成功将Pure Transformer架构应用于目标重识别ReID任务,效果超过了当前先进方法的性能!文章2021年5月刚出来,也入选了顶会ICCV2021!


公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式


论文地址:https://arxiv.org/pdf/2102.04378.pdf
开源代码:https://github. com/heshuting555/TransReID

1

前言

提取稳健的特征表示是目标重识别 (ReID) 的关键挑战之一。尽管基于卷积神经网络 (CNN) 的方法取得了巨大成功,但它们一次只处理一个局部邻域,并且会因卷积和下采样算子(例如池化和跨步卷积)导致细节信息丢失。为了克服这些限制,研究者提出了一个名为TransReID的纯基于transformer的目标ReID框架。

2

背景


ReID全称Re-identification,也就是目标重识别的意思。简单理解就是对于一个特定的目标(可能是行人、车辆、人脸或者其他特定物体),在候选图像集中检索到它。或称图像中目标的实例级检索。

目标重识别(ReID)与跟踪(Tracking)有什么区别?

从任务的角度来看,两者最主要的区别如下:

  • 目标重识别:给定一张切好块的行人图像 (probe image, 即图像大部分内容只包含这个人), 从一大堆切好块的图像 (gallery images) 中找到跟probe image中同一身份的人的图像。这些图像通常是由不同摄像头拍摄的不连续帧。

  • 跟踪:给定一张切好块的行人图像 (probe image), 从一段全景视频 (panorama track, 视野中只有一小部分是这个行人) 中找到 probe 所在的位置。这段全景视频是由单个摄像头拍摄的连续帧。


在视频监控领域,最终目标是要做到多目标跨摄像头跟踪 (Multi-target Multi-camera Tracking, 简称MTMC Tracking)。而目标重识别和行人跟踪都是为了达到这个最终目标的子任务。


今天我们具体来说说目标重识别。通过回顾基于CNN的方法,我们发现了两个在目标重识别领域没有得到很好解决的重要问题。

(1) 在全局范围内利用丰富的结构模式对于目标重识别至关重要。然而,由于感受野存在一个高斯核的衰减,基于CNN的方法主要关注小的判别区域。最近,已经引入了注意力模块 来探索远程依赖关系,但其中大部分都嵌入在深层中,并没有解决CNN的原理问题。因此,基于注意力的方法仍然更喜欢大的连续区域,并且难以提取多个多样化的判别部分(见下图 1)

(a) Original images, (b) CNN-based methods, (c) CNN+attention methods, (d) Transformer-based methods

 (2) 具有详细信息的细粒度特征也很重要。然而,CNN的下采样算子(例如池化和跨步卷积)降低了输出特征图的空间分辨率,这极大地影响了区分具有相似外观目标的能力。如下图所示,基于CNN的特征图丢失了背包的细节,难以区分两个人。

如上图中的这对负样本对(CNN识别错误,Transformer识别正确),两张图片的外观特征是非常相似的,但是从书包的细节可以看出,左边书包侧面有一个杯子,而右边书包侧面则没有杯子,因此可以判断是两个ID。但是因此CNN的下采样操作,在网络最后输出的特征图上已经看不清杯子这个细节了。但是Transformer没有下采样操作,因此特征图能够比较好地保留细节信息,从而识别目标。


3

新框架


具体来说,研究者首先将图像编码为一系列补丁,并通过一些关键改进构建基于transformer的强基线,这在使用基于CNN的方法的多个ReID基准测试中取得了有竞争力的结果。为了进一步增强transformer上下文中的稳健特征学习,精心设计了两个新颖的模块。

(i) Jigsaw Patch Module (JPM) 被提出通过移位和补丁混洗操作重新排列补丁嵌入,从而生成具有改进识别能力和更多样化覆盖范围的鲁棒特征。

(ii) Side Information Embeddings (SIE) 以通过插入可学习的嵌入来合并这些非视觉线索来减轻对相机/视图变化的特征偏差。

据我们所知,这是第一项采用纯transformer进行ReID研究的工作。TransReID的实验结果非常有前途,在人和车辆ReID基准测试中都达到了最先进的性能。

Transformer-based strong baseline

研究者参考CNN的baseline BoT设计Transformer-based strong baseline。如下图所示。

研究者参考ViT将图片分成N个patch,并引入一个额外的cls token共N+1个embedding。经过Transformer layers之后将cls token作为图像的全局特征,之后经过一个BNNeck结构计算triplet loss和分类ID loss。

此外,还有一个技巧性操作,是对图像进行patch分块的时候可以让相邻的patch之间有一定的overlap。当然这个操作会使得patch数目增加从而使得模型训练的资源消耗增加,但是性能也会有比较稳定提升。

Jigsaw Patch Module

ReID任务经常会遇到遮挡、不对齐这些问题,一般会采用细粒度的局部特征来处理这些问题,水平切块就是非常常用的一种局部特征方法。

为了扩大每个group的视野,研究者将所有的patch embedding按照一定规则进行打乱,然后再进行分组。这样每个group就可能包含来自图片不同区域的patch,近似等效于每个group都有比较全局的感受野。

具体打乱操作分为两步:


Side Information Embeddings

ReID任务中相机、视角的差异会给图像带来一些外观上的差异。对于CNN框架,通常需要专门设计结构来处理这个问题,例如设计loss、对数据进行先验处理、改变模型结构等等。这些设计通常比较定制化且比较复杂,推广性并不强。而transformer则比较擅长融合不同模态的信息,因此研究者提出了SIE模块来利用相机ID、视角等辅助信息。


4

实验及分析


论文中使用的数据集的统计数据

不同Backbone的对比

下表给出了不同Backbone的准确度和推理时间的对比,将ResNet50作为baseline,同时给出了ViT和DeiT的结果。

可以看到,DeiT-S/16在速度上与ResNet50是接近的,在准确度上同样也有可比的性能。当使用更深的DeiT-B/16和DeiT-V/16时,同样和ResNest50取得了相似的速度和准确度。当在pre-patch环节缩小conv的stride时,patch的数目增加,速度下降,但是准确度也会收获稳定的提升。

和SOTA对比

下表给出了和SOTA方法对比的结果。

可以看到,和CNN的方法相比,TransReID在六个ReID数据集上取得了更好的准确度,这显示了pure transformer架构在图像检索任务上同样适用。在ImageNet上取得更好分数的DeiT在下游的ReID任务上并没有超过ViT。这是因为ViT使用了更大的ImageNet22K做预训练,更大的预训练数据使得ViT有更好的迁移性。

可视化

 (a) Input images, (b) Baseline, (c) JPM w/o rearrange, (d) JPM.

© THE END 

转载请联系本公众号获得授权


计算机视觉研究院学习群等你加入!


计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

扫码关注

计算机视觉研究院

公众号ID|ComputerVisionGzq

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存